/**
 * 文件名称: user_freetype.h
 * 摘    要: 与freetype相关的操作函数头文件
 * 来    源: huenrong
 *
 * 当前版本: 1.0 
 * 作    者: huenrong
 * 完成日期: 2019-08-01
 **/


#ifndef __USER_FREETYPE_H
#define __USER_FREETYPE_H

#ifdef __cplusplus
extern "C" {
#endif

#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_GLYPH_H


#define     FONT_FILE_PATH      "simsun.ttc"        // 字体文件路径


/******************************************************************************
函数名称: freetype_init
函数功能: freetype初始化
函数参数: font_file_path: 字体文件路径
函数返回: 无
******************************************************************************/
void freetype_init(const char *font_file_path);

/******************************************************************************
函数名称: freetype_set_pixel_size
函数功能: freetype设置字体像素大小(某一维度值为0, 则和另一维度相同)
函数参数: pixel_width: 字体像素宽度
          pixel_height: 字体像素高度
函数返回: 成功: 返回0
          失败: 返回错误码
******************************************************************************/
int freetype_set_pixel_size(const unsigned int pixel_width, 
                            const unsigned int pixel_height);

/******************************************************************************
函数名称: freetype_display_str
函数功能: freetype显示字符串
函数参数: x_start: 第一个字符显示的x轴起始坐标
          y_start: 第一个字符显示的y轴起始坐标
          angle: 字符旋转角度
          show_str: 要显示的字符串
          str_len: 字符串长度
          background_color: 字符背景色
          foreground: 字符前景色
函数返回: 无
******************************************************************************/
void freetype_display_str(FT_Int x_start, FT_Int y_start, const char *angle, 
                          const wchar_t *show_str, const unsigned int str_len, 
                          const unsigned int background_color, 
                          const unsigned int foreground);

#ifdef __cplusplus
}
#endif

#endif /* __USER_FREETYPE_H */
